package com.smart.entity;

import lombok.Data;
import java.util.Date;
import lombok.EqualsAndHashCode;
import cn.hutool.core.date.DatePattern;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.extension.activerecord.Model;

/**
 * @author lgb
 * @date 2020年6月22日 下午3:20:19
 * Copyright (C) 深圳工勘科技
 * @说明: 操作记录表
 **/
@Data
@TableName("sys_operation_log")
@EqualsAndHashCode(callSuper=true)
public class SysOperationLog extends Model<SysOperationLog>{

	private static final long serialVersionUID = -5655257565437662489L;
	/** 日志主键 */
    @TableId
    @TableField(value="id")
    private Integer id;
    /** 操作模块 */
    @ApiModelProperty(value = "操作模块")
    @TableField(condition = SqlCondition.LIKE)
    private String title;
    /** 业务类型（0其它 1新增 2修改 3删除）*/
    @ApiModelProperty(value="业务类型 0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据")
    private Integer businessType;
    /** 请求方法 */
    @ApiModelProperty(value="请求方法")
    private String method;
    /** 请求方式 */
    @ApiModelProperty(value="请求方式")
    private String requestMethod;
    /** 操作类别（0其它 1后台用户 2手机端用户） */
    @ApiModelProperty(value="操作类别")
    private Integer operatorType;
    /** 操作人员 */
    @ApiModelProperty(value="操作人员")
    @TableField(condition=SqlCondition.LIKE)
    private String operName;
    /** 部门名称 */
    @ApiModelProperty(value="部门名称")
    private String deptName;
    /** 请求url */
    @ApiModelProperty(value="请求地址")
    private String operUrl;
    /** 操作地址 */
    @ApiModelProperty(value="操作地址")
    private String operIp;
    /** 操作地点 */
    @ApiModelProperty(value="操作地点")
    private String operLocation;
    /** 请求参数 */
    @ApiModelProperty(value="请求参数")
    private String operParam;
    /** 返回参数 */
    @ApiModelProperty(value="返回参数")
    private String jsonResult;
    /** 操作状态(1正常 0异常)*/
    @ApiModelProperty(value="状态")
    private String status;
    /** 错误消息 */
    @ApiModelProperty(value="错误消息")
    private String errorMsg;
    /** 创建时间 */
    @JsonFormat(pattern=DatePattern.NORM_DATETIME_PATTERN,timezone="GMT+8")
    @ApiModelProperty(value="创建时间")
    private Date createTime;
    /** 修改时间 */
    @JsonFormat(pattern=DatePattern.NORM_DATETIME_PATTERN,timezone="GMT+8")
    @ApiModelProperty(value = "修改时间")
    private Date modifyTime;
    /** 有效状态：0->无效；1->有效 */
    @TableLogic
    @ApiModelProperty(value="有效状态：0->无效；1->有效")
    private Integer valid;
    /** 开始时间 */
    @JsonIgnore
    @TableField(exist=false)
    private String beginTime;
    /** 结束时间 */
    @JsonIgnore
    @TableField(exist=false)
    private String endTime;
	
}